package com.xyht.sca_s.student_manage_system.modules.repairCheck.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.repairCheck.entity.SmsRepairCheckApply;
import com.xyht.sca_s.student_manage_system.modules.repairCheck.entity.vo.*;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.Future;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author XYHT
 * @since 2023-06-19
 */
public interface SmsRepairCheckApplyService extends IService<SmsRepairCheckApply> {

    ResponseResult repairCheck(SmsRepairCheckApplyVO applyVO, String user_id);

    ResponseResult repairCheckCancel(SmsRepairCheckApplyCancelVO cancelVO, String user_id);

    ResponseResult allowRepairCheck(SmsRepairCheckApplyAllowVO allowVO, String user_id);

    ResponseResult getRepairCheckList(Integer pageSize, String search_str,Integer pageNum, Integer apply_type, String user_id);

    ResponseResult getRepairCheckDetail(String apply_id, String user_id);

    ResponseResult getRepairCheckOriginSettingProcess();

    ResponseResult selectAllRepairCheck(String apply_unit, Integer pageSize, Integer pageNum,Integer status);

    Future<ResponseResult> tableDownload(String apply_id, HttpServletResponse response);

    Future<ResponseResult> exportRepairCheck(SmsRepairCheckExportVO smsRepairCheckExportVO, HttpServletResponse response);

    ResponseResult forcedFinishRepairCheck(String applyId,String userId);

    ResponseResult forcedTorsionPayment(SmsRepairCheckDetailTorsionVO torsionVO);

    ResponseResult replaceApplyRepairCheck(String userId, SmsRepairCheckApplyAllowVO allowVO);

    ResponseResult forcedRejectRepairCheck(SmsRepairCheckApplyForceVO forceVO, String userId);
}
